/*
 * Created on 2006-7-17
 *
 * TODO To change the template for this generated file go to
 * Window - Preferences - Java - Code Style - Code Templates
 */
package com.powerunion.datacollection.report.excelreport.base;

import java.util.Map;

import jxl.write.WritableCell;
import jxl.write.WritableSheet;

/**
 * 参数类用来向各函数传递并共享数据参数信息。
 * @author juny
 */
public class Parameter {
    /**
     * 保存当前正在读写的sheet
     */
    public WritableSheet sheet = null;
    /**
     * 保存当前报表对应的数据源列表
     */
    public Map dataSources = null;
    /**
     * 保存当前正在读写的单元格
     */
    public WritableCell wc = null;
    /**
     * 保存报表参数信息
     */
    public Map params = null;
    /**
     * 保存当前报表输出的当前记录行
     */
    public int curRow = 0;
    /**
     * 保存当前单元格输出的目的行
     */
    public int destRow = 0;
    /**
     * 保存当前单元格输出的目的列
     */
    public int destCol = 0;
    
    public Object clone(){
        //浅拷贝参数数据，主要是拷贝destCol，destRow, current writable cell 等信息。
        Parameter newParam = new Parameter();
        newParam.curRow = this.curRow;
        newParam.destCol = this.destCol;
        newParam.destRow = this.destRow;
        newParam.sheet = this.sheet;
        newParam.wc = this.wc;
        
        newParam.dataSources = this.dataSources;
        newParam.params = this.params;
        return newParam;
    }
}
